package entity;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.ManyToOne;

@Entity
public abstract class FnBProductEntity extends ProductEntity implements Serializable {
    private static long serialVersionUID = 1L;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public static void setSerialVersionUID(long aSerialVersionUID) {
        serialVersionUID = aSerialVersionUID;
    }

    private double deposit;
    private double showCharge;
    private double noShowCharge;
    private double pointReceived;
    @ManyToOne
    private FnBBranchEntity fnBBranch;

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (getId() != null ? getId().hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof FnBProductEntity)) {
            return false;
        }
        FnBProductEntity other = (FnBProductEntity) object;
        if ((this.getId() == null && other.getId() != null) || (this.getId() != null && !this.getId().equals(other.getId()))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "entity.FandBProduct[ id=" + getId() + " ]";
    }

    public Double getDeposit() {
        return deposit;
    }

    public void setDeposit(Double deposit) {
        this.deposit = deposit;
    }

    public double getShowCharge() {
        return showCharge;
    }

    public void setShowCharge(double showCharge) {
        this.showCharge = showCharge;
    }

    public double getNoShowCharge() {
        return noShowCharge;
    }

    public void setNoShowCharge(double noShowCharge) {
        this.noShowCharge = noShowCharge;
    }

    public double getPointReceived() {
        return pointReceived;
    }

    public void setPointReceived(double pointReceived) {
        this.pointReceived = pointReceived;
    }

    public FnBBranchEntity getFnBBranch() {
        return fnBBranch;
    }

    public void setFnBBranch(FnBBranchEntity fnBBranch) {
        this.fnBBranch = fnBBranch;
    }
}
